﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NetFrameworkExtensions.DataLayer.EF4
{
  public abstract class GuidHierarchicalData<TIdentified> :
    HierarchicalData<TIdentified, Guid>
    where TIdentified : GuidHierarchicalData<TIdentified>
  {
  }

  public abstract class IdentityGuidHierarchicalData<TIdentified> :
    IdentityHierarchicalData<TIdentified, Guid>
    where TIdentified : IdentityGuidHierarchicalData<TIdentified>
  {
  }

  public abstract class GuidHierarchicalAuditableData<TIdentified> :
    HierarchicalAuditableData<TIdentified, Guid, Guid>
    where TIdentified : GuidHierarchicalAuditableData<TIdentified>
  {
  }

  public abstract class IdentityGuidHierarchicalAuditableData<TIdentified> :
    IdentityHierarchicalAuditableData<TIdentified, Guid, Guid>
    where TIdentified : IdentityGuidHierarchicalAuditableData<TIdentified>
  {
  }

  public abstract class GuidHierarchicalConcurrentAuditableData<TIdentified> :
    HierarchicalConcurrentAuditableData<TIdentified, Guid, Guid>
    where TIdentified : GuidHierarchicalConcurrentAuditableData<TIdentified>
  {
  }

  public abstract class IdentityGuidHierarchicalConcurrentAuditableData<TIdentified> :
    IdentityHierarchicalConcurrentAuditableData<TIdentified, Guid, Guid>
    where TIdentified : IdentityGuidHierarchicalConcurrentAuditableData<TIdentified>
  {
  }
}
